body {
    /* background: #f2f2f2; */
    background: #282c34;
}

.frame {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 400px;
    height: 400px;
    margin-top: -200px;
    margin-left: -200px;
    border-radius: 2px;
    box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    background: #34495e;
    color: #fff;
    font-family: 'Open Sans', Helvetica, sans-serif;
}

.center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hiddenKey {
    width: 220px;
    height: 50px;
    box-shadow: 2px 4px 8px 0 rgba(0, 0, 0, 0.3);
    perspective: 250px;

    .inputWrapper {
        position: absolute;
        z-index: 2;
        transform-style: preserve-3d;
        transform-origin: 50% 0;
        transition: all 0.5s ease-in-out;

        &:valid {
            transform: rotateX(180deg);

            ~ .keyWrapper {
                box-shadow: 2px -50px 8px 0 rgba(0, 0, 0, 0.3);
            }
        }

        .input {
            box-sizing: border-box;
            appearance: none;
            border: none;
            border-radius: 0;
            outline: none;
            background: #fff;
            width: 220px;
            height: 50px;
            line-height: 20px;
            padding: 15px 0;
            font-size: 16px;
            color: #34495e;
            text-align: center;
            backface-visibility: hidden;
            z-index: 2;
        }

        .backSide {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            font-weight: 700;
            color: #34495e;
            text-align: center;
            line-height: 50px;
            background: #fff;
            backface-visibility: hidden;
            transform: rotateX(-180deg);
        }
    }

    .keyWrapper {
        width: 220px;
        height: 50px;
        background: #64c760;
        color: #fff;
        font-size: 16px;
        line-height: 50px;
        text-align: center;
        transition: all 0.5s ease-in-out;
        box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0);
    }
}
